package com.mjduan.myBank.myPayment.dao;

import java.util.List;

import com.mjduan.myBank.util.entity.MyPay;
import com.mjduan.myBank.util.entity.User;



public interface IMyPayDao {

	/**
	 * select count(*) from t_mypay;
	 * @return
	 */
	long getCount();
	
	/**
	 * 获得总的支出金额(小数只是保留了俩位)
	 * select sum(amountOfMoney) from mypay;
	 * @return
	 */
	String getSumOfMoney();
	
	/**
	 * 将具体支出写入数据库
	 * @return
	 */
	boolean addPay(MyPay myPay);
	
	/**
	 * select * from table limit offset,rows;
	 * @param offset
	 * @param rows
	 * @return
	 */
	public List<MyPay> getMyPayWithLimit(int offset,int rows);
	
	/**
	 * 将从Excel中读取的数据批量插入数据库
	 * @param list 这个里面的数据一定要是合法的数据格式(map['0']为数值，
	 * map['1']为字符串型，map['2']则可以是null，也可以是字符串型)，因为这个方法中没有检查传入的
	 * 数据格式是否合法，所以如果传入不合法的数据则会引起严重的后果。
	 * @return 
	 */
	public boolean addPayFromExcel(List<Object[]> list,User user);

    /**
     * 从数据库中获取所有的mypay中的记录，没有获取remark字段，这是考虑到性能的原因
     * 
     * @param user 用户
     * @return
     */
	public List<MyPay> getAllMyPayWithoutRemark(User user);
}
